Provides a trait `CheckedEnum` and a type `UncheckedEnum` which are
useful when wrapping FFI libraries that use enums which you cannot guarantee
will be in range, but you would like to allow a program to keep running
when such an enum value is encourtered.